home *** CD-ROM | disk | FTP | other *** search
- ///////////////////////////////////////////////////////////////
- //
- // Module : QBIPROC.PRG
- //
- // Created by SUMMER'93 (c) on Fri Nov 26 14:50:20 1993
- //
- ///////////////////////////////////////////////////////////////
- #include "snj.ch"
- // The following statics were declared 'PUBLIC' in the S87 code
- // OR were private and inherited by called functions
- // If they are used outside this module there will be a set/get
- // function with the same name as the var in this module
- static QBSAFE, QBTITLE, QBMSGLIN, QBPROC, COLNORM, COLPWD, COLFLASH, COLHEAD;
- , COLMENU, COLBRIGHT, COLMON, QBVAT, GETOUT, CHANGED, QBKEY, QBCHOICE, QBDATE;
- , QBRESP, QBRESPD, PLENGTH, PLINE, PHEAD1, PHEAD2, PHEAD3, PHEAD4, PHEAD5;
- , PHEAD6, PHEAD7, PHEAD8, PHEAD9, PFOOT1, PFOOT2, PFOOT3, PFOOT4, PFOOT5;
- , PWIDTH, PSET1, PSET2, PSET3, PSET4, PSET5, TPSET1, TPSET2
- procedure QBINIT
- // Calls: QBINDATE QBLAYOUT QBBOX
- // Called By: BODINDEX BODYWORK
- // Q B I N I T . P R G
- // The following locals have been declared by Summer'93
- // MEM
- local m, MEM
- clear screen
- set date british
- set exact off
- set talk off
- set safety off
- set unique off
- set bell off
- set wrap on
- set scoreboard off
- set deleted on
- set status off
- set device to screen
- set intensity on
- set function 9 to chr( 23 )
- // Last change: MIB 11 Aug 93 4:44 pm
-
-
-
- // Print intialisation
- PDEST( " " )
- PHEAD1 := PHEAD2 := PHEAD3 := PHEAD4 := PHEAD5 := PHEAD6 := PHEAD7 := ;
- PHEAD8 := PHEAD9 := ""
-
- use QBINFO index QBINFO
- seek "COLOUR"
- COLMON := ( trim(FIELD->QBTEXT ) = "C" )
- seek "PSET1"
- MEM := trim( FIELD->QBTEXT )
- PSET1 := &MEM // set system emulation mode
- skip
- MEM := trim( FIELD->QBTEXT )
- PSET5 := PSET1 + &MEM // Set normal text
- skip
- MEM := trim( FIELD->QBTEXT )
- PSET4 := PSET1 + &MEM // Set compressed
- skip
- MEM := trim( FIELD->QBTEXT )
- PSET2 := PSET4 + &MEM // Set compressed portrait
- PSET5 := PSET5 + &MEM // Set normal portrait
- skip
- MEM := trim( FIELD->QBTEXT )
- PSET3 := PSET4 + &MEM // Set compressed landscape
- TPSET1 := PSET2
- TPSET2 := PSET5
-
- GETOUT := .f.
- CHANGED := .f.
- QBKEY := 0 // Keystroke returned from qbmenu
- QBCHOICE := 1
-
- QBTITLE := space( 30 ) // Application title - qbinfo record #1
- if COLMON
- COLNORM := "W/B,N/W,B,B,W+/B" // Normal screen colours
- COLBRIGHT := "W+/B,N/W+,B,B,W+/B" // Say data high
- COLMENU := "W+/B,N/W+,B,B,W+/B"
- COLPWD := "W+/B,B/B,B,B" // Password screen colours
- COLFLASH := "R*/W,N*/W,B,B" // Flashing message
- COLHEAD := "GR+/B,N/W,B,B,W+/B" // Bright Yellow/Blue
- else
- COLNORM := "W/N,N/W,,,W+/N"
- COLBRIGHT := "W+/N,N/W+,,,W+/N" // Say data high
- COLMENU := "W+/N,N/W+"
- COLPWD := "N/N,N/N,X"
- COLFLASH := "W*/N,N/W*"
- COLHEAD := "N/W+,W/N,,,W+/N"
- endif
- QBPROC := space( 30 ) // Procedure name being run
- QBMSGLIN := 0
- QBRESP := " "
- do QBINDATE
-
- // Get password
- do QBLAYOUT with "Password Verification"
- do QBBOX with 40
- set color to( iif(COLMON, COLHEAD, COLBRIGHT ))
- m := "Quin Butterworth Spangenthal"
- @ 9, centre( m )say m
- m := "Systems Design & Consultancy"
- @ 12, centre( m )say m
- m := "for support call"
- @ 14, centre( m )say m
- m := "081-994-4842"
- @ 16, centre( m )say m
- set color to( COLNORM )
- close database
-
- set color to( COLNORM )
-
- set exact off
- select 0
- use QBINFO index QBINFO
- seek "HEADING"
- if found( )
- QBTITLE := trim( FIELD->qbtext )
- else
- QBTITLE := "Quin Butterworth Spangenthal"
- endif
- seek "VATRATE"
- if !eof( )
- QBVAT := val( FIELD->qbtext )
- else
- QBVAT := 17.50
- endif
-
- return
-
- procedure QBINDATE
- // Calls: QBLAYOUT QBMESS QBLSTSUN QBGETD
- // Called By: QBINIT
-
- // Q B I N D A T E . P R G
- // Check the system date and get the user to confirm it or change
- // The following locals have been declared by Summer'93
- // D
- local T, THE_DATE, D
-
- QBDATE := space( 29 )
- // Time bomb could go in here
- // data record contains date last used, date to blow up
- // if date < date last used error reenter else if
- // if date> timebomb date blow up
-
- do QBLAYOUT with "Q B Systems"
- do QBMESS with "Checking Date", COLFLASH, 0
- do QBLSTSUN
-
- THE_DATE := date( )
-
- do while THE_DATE = ctod( "01/01/80" )
- do QBGETD with "Input today's date", "01/01/80"
- QBDATE := dtoc( QBRESPD )
- run date ( QBDATE )
- THE_DATE := date( )
- enddo
-
- D := day( THE_DATE )
- do case
- case D = 1 .or. D = 21 .or. D = 31
- T := "st"
- case D = 2 .or. D = 22
- T := "nd"
- case D = 3 .or. D = 23
- T := "rd"
- otherwise
- T := "th"
- endcase
-
- QBDATE := cdow( THE_DATE ) + " " + str( day(THE_DATE ), 2 ) + T + " " + ;
- cmonth( THE_DATE ) + " " + str( year(THE_DATE ), 4 )
-
- return
-
- procedure QBPSETUP
- // Calls: QBPROMPT
- // Called By: BODINDEX
-
- // The following locals have been declared by Summer'93
- // MPSET1 MPSET2 MPSET3 MPSET4 MPSET5 I
- local GETLIST, MPSET1, MPSET2, MPSET3, MPSET4, MPSET5, I
- GETLIST := {}
- clear screen
- @ 1, 0 to 1, 79 double
- @ 2, 0 say "Q.B. Systems Ltd."
- @ 3, 0 to 3, 79 double
- @ 21, 0 to 21, 79 double
- @ 2, 32 say "Printer Setup"
- use QBINFO index QBINFO
- do while .t.
- seek "PSET1"
- MPSET1 := FIELD->QBTEXT
- skip
- MPSET2 := FIELD->QBTEXT
- skip
- MPSET3 := FIELD->QBTEXT
- skip
- MPSET4 := FIELD->QBTEXT
- skip
- MPSET5 := FIELD->QBTEXT
- seek "PSET1"
- do while .t.
- @ 6, 5 say ;
- "Unprintable Decimal ASCII codes should appear as CHR(n) functions"
- @ 7, 5 say "i.e. Escape is chr(27)"
- @ 8, 5 say "Printable ASCII codes should appear in single quotes"
- @ 9, 5 say "i.e. 'ABC'"
- @ 10, 5 say ;
- "Strings of control codes should be concatenated with '+'"
- @ 11, 5 say "i.e. chr(27)+'15'"
- @ 13, 10 say "Printer initialisation " get MPSET1
- @ 14, 10 say "Normal Characters " get MPSET2
- @ 15, 10 say "Compressed print " get MPSET3
- @ 16, 10 say "Portrait " get MPSET4
- @ 17, 10 say "Landscape " get MPSET5
- read
- if ["] $ MPSET1 + MPSET2 + MPSET3 + MPSET4 + MPSET5
- @ 22, 2 say ;
- [There is a " in a print setup string! Please use ' instead. Press a key.]
- wait " "
- @ 22, 0 clear
- else
- I := QBPROMPT( "Save|Edit|Quit|Restart", "", 1 )
- do case
- case QBRESP = "Q"
- use
- return
- case QBRESP = "R"
- exit
- case QBRESP = "S"
- replace FIELD->QBTEXT with MPSET1
- skip
- replace FIELD->QBTEXT with MPSET2
- skip
- replace FIELD->QBTEXT with MPSET3
- skip
- replace FIELD->QBTEXT with MPSET4
- skip
- replace FIELD->QBTEXT with MPSET5
- use
- return
- endcase
- endif
- enddo
- enddo
-
- return
-
- FUNCTION QBTITLE( xNewVal )
- local xReturn := QBTITLE
- if xNewVal <> NIL
- QBTITLE := xNewVal
- endif
- return xReturn
-
- FUNCTION QBMSGLIN( xNewVal )
- local xReturn := QBMSGLIN
- if xNewVal <> NIL
- QBMSGLIN := xNewVal
- endif
- return xReturn
-
- FUNCTION QBPROC( xNewVal )
- local xReturn := QBPROC
- if xNewVal <> NIL
- QBPROC := xNewVal
- endif
- return xReturn
-
- FUNCTION COLNORM( xNewVal )
- local xReturn := COLNORM
- if xNewVal <> NIL
- COLNORM := xNewVal
- endif
- return xReturn
-
- FUNCTION COLPWD( xNewVal )
- local xReturn := COLPWD
- if xNewVal <> NIL
- COLPWD := xNewVal
- endif
- return xReturn
-
- FUNCTION COLFLASH( xNewVal )
- local xReturn := COLFLASH
- if xNewVal <> NIL
- COLFLASH := xNewVal
- endif
- return xReturn
-
- FUNCTION COLHEAD( xNewVal )
- local xReturn := COLHEAD
- if xNewVal <> NIL
- COLHEAD := xNewVal
- endif
- return xReturn
-
- FUNCTION COLMENU( xNewVal )
- local xReturn := COLMENU
- if xNewVal <> NIL
- COLMENU := xNewVal
- endif
- return xReturn
-
- FUNCTION COLBRIGHT( xNewVal )
- local xReturn := COLBRIGHT
- if xNewVal <> NIL
- COLBRIGHT := xNewVal
- endif
- return xReturn
-
- FUNCTION QBVAT( xNewVal )
- local xReturn := QBVAT
- if xNewVal <> NIL
- QBVAT := xNewVal
- endif
- return xReturn
-
- FUNCTION GETOUT( xNewVal )
- local xReturn := GETOUT
- if xNewVal <> NIL
- GETOUT := xNewVal
- endif
- return xReturn
-
- FUNCTION CHANGED( xNewVal )
- local xReturn := CHANGED
- if xNewVal <> NIL
- CHANGED := xNewVal
- endif
- return xReturn
-
- FUNCTION QBKEY( xNewVal )
- local xReturn := QBKEY
- if xNewVal <> NIL
- QBKEY := xNewVal
- endif
- return xReturn
-
- FUNCTION QBCHOICE( xNewVal )
- local xReturn := QBCHOICE
- if xNewVal <> NIL
- QBCHOICE := xNewVal
- endif
- return xReturn
-
- FUNCTION QBDATE( xNewVal )
- local xReturn := QBDATE
- if xNewVal <> NIL
- QBDATE := xNewVal
- endif
- return xReturn
-
- FUNCTION QBRESP( xNewVal )
- local xReturn := QBRESP
- if xNewVal <> NIL
- QBRESP := xNewVal
- endif
- return xReturn
-
- FUNCTION QBRESPD( xNewVal )
- local xReturn := QBRESPD
- if xNewVal <> NIL
- QBRESPD := xNewVal
- endif
- return xReturn
-
- FUNCTION PLENGTH( xNewVal )
- local xReturn := PLENGTH
- if xNewVal <> NIL
- PLENGTH := xNewVal
- endif
- return xReturn
-
- FUNCTION PLINE( xNewVal )
- local xReturn := PLINE
- if xNewVal <> NIL
- PLINE := xNewVal
- endif
- return xReturn
-
- FUNCTION PHEAD1( xNewVal )
- local xReturn := PHEAD1
- if xNewVal <> NIL
- PHEAD1 := xNewVal
- endif
- return xReturn
-
- FUNCTION PHEAD2( xNewVal )
- local xReturn := PHEAD2
- if xNewVal <> NIL
- PHEAD2 := xNewVal
- endif
- return xReturn
-
- FUNCTION PHEAD3( xNewVal )
- local xReturn := PHEAD3
- if xNewVal <> NIL
- PHEAD3 := xNewVal
- endif
- return xReturn
-
- FUNCTION PHEAD4( xNewVal )
- local xReturn := PHEAD4
- if xNewVal <> NIL
- PHEAD4 := xNewVal
- endif
- return xReturn
-
- FUNCTION PHEAD5( xNewVal )
- local xReturn := PHEAD5
- if xNewVal <> NIL
- PHEAD5 := xNewVal
- endif
- return xReturn
-
- FUNCTION PHEAD6( xNewVal )
- local xReturn := PHEAD6
- if xNewVal <> NIL
- PHEAD6 := xNewVal
- endif
- return xReturn
-
- FUNCTION PHEAD7( xNewVal )
- local xReturn := PHEAD7
- if xNewVal <> NIL
- PHEAD7 := xNewVal
- endif
- return xReturn
-
- FUNCTION PHEAD8( xNewVal )
- local xReturn := PHEAD8
- if xNewVal <> NIL
- PHEAD8 := xNewVal
- endif
- return xReturn
-
- FUNCTION PHEAD9( xNewVal )
- local xReturn := PHEAD9
- if xNewVal <> NIL
- PHEAD9 := xNewVal
- endif
- return xReturn
-
- FUNCTION PWIDTH( xNewVal )
- local xReturn := PWIDTH
- if xNewVal <> NIL
- PWIDTH := xNewVal
- endif
- return xReturn
-
- FUNCTION PSET2( xNewVal )
- local xReturn := PSET2
- if xNewVal <> NIL
- PSET2 := xNewVal
- endif
- return xReturn
-
- FUNCTION TPSET1( xNewVal )
- local xReturn := TPSET1
- if xNewVal <> NIL
- TPSET1 := xNewVal
- endif
- return xReturn
- // End of file
-